struct _CM_KCB_UOW// Size=0x78
{
    struct _LIST_ENTRY TransactionListEntry;// Offset=0x0 Size=0x10
    struct _CM_INTENT_LOCK * KCBLock;// Offset=0x10 Size=0x8
    struct _CM_INTENT_LOCK * KeyLock;// Offset=0x18 Size=0x8
    struct _LIST_ENTRY KCBListEntry;// Offset=0x20 Size=0x10
    struct _CM_KEY_CONTROL_BLOCK * KeyControlBlock;// Offset=0x30 Size=0x8
    struct _CM_TRANS * Transaction;// Offset=0x38 Size=0x8
    unsigned long UoWState;// Offset=0x40 Size=0x4
    enum UoWActionType ActionType;// Offset=0x44 Size=0x4
    enum HSTORAGE_TYPE StorageType;// Offset=0x48 Size=0x4
    struct _CM_KCB_UOW * ParentUoW;// Offset=0x50 Size=0x8
    struct _CM_KEY_CONTROL_BLOCK * ChildKCB;// Offset=0x58 Size=0x8
    unsigned long VolatileKeyCell;// Offset=0x58 Size=0x4
    unsigned long OldValueCell;// Offset=0x58 Size=0x4
    unsigned long NewValueCell;// Offset=0x5c Size=0x4
    unsigned long UserFlags;// Offset=0x58 Size=0x4
    union _LARGE_INTEGER LastWriteTime;// Offset=0x58 Size=0x8
    unsigned long TxSecurityCell;// Offset=0x58 Size=0x4
    struct _CM_KEY_CONTROL_BLOCK * OldChildKCB;// Offset=0x58 Size=0x8
    struct _CM_KEY_CONTROL_BLOCK * NewChildKCB;// Offset=0x60 Size=0x8
    struct _CM_KEY_CONTROL_BLOCK * OtherChildKCB;// Offset=0x58 Size=0x8
    unsigned long ThisVolatileKeyCell;// Offset=0x60 Size=0x4
    void * PrepareDataPointer;// Offset=0x68 Size=0x8
    struct _CM_UOW_SET_SD_DATA * SecurityData;// Offset=0x68 Size=0x8
    struct _CM_UOW_KEY_STATE_MODIFICATION * ModifyKeysData;// Offset=0x68 Size=0x8
    struct _CM_UOW_SET_VALUE_LIST_DATA * SetValueData;// Offset=0x68 Size=0x8
    struct _CM_UOW_SET_VALUE_KEY_DATA * ValueData;// Offset=0x70 Size=0x8
    struct _CMP_DISCARD_AND_REPLACE_KCB_CONTEXT * DiscardReplaceContext;// Offset=0x70 Size=0x8
};